使用.NET框架读取串口的正确方法是什么?
我在这里读到了很多关于如何使用.NETSerialPort类从串行端口读取数据的问题,但没有一种推荐的方法对我来说是完全有效的。下面是我现在使用的代码:SerialPortport=newSerialPort("COM1");
port.DataReceived+=newSerialDataReceivedEventHandler(MyDataReceivedHandler);复制和事件处理程序:voidMyDataReceivedHandler(objectsender,SerialDataReceivedEventArgse)
{
intcount=port.BytesToRead;
byte[]ByteArray=newbyte[count];
port.Read(ByteArray,0,count);
}复制但我有时还是会遗漏一些数据。我尝试过在事件处理程序中读取数据的不同方法,但没有成功。由于.NET4.5为执行一些异步任务带来了新的可能性,比如使用似乎可以在SerialPort流上使用的ReadAsync方法,我很想知道处理这些情况的推荐方法是什么。
|